Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

23 create a dev environment setup script #24

Closed
wants to merge 4 commits into from

Conversation

evalott100
Copy link
Collaborator

No description provided.

Added a dev script to set up the dev environment on a device and mentioned it in the README.rst, fixes \#23
Added a dev script to set up the dev environment on a device and mentioned it in the README.rst, fixes \#23
@evalott100 evalott100 self-assigned this Sep 27, 2022
Copy link
Contributor

@DominicOram DominicOram left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

pipenv --python python
pipenv install --dev

pipenv run pre-commit install
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should: We don't have pre-commit hooks here but we should, I will add them now

@evalott100
Copy link
Collaborator Author

Closing due to updated issue #29

@evalott100 evalott100 closed this Dec 20, 2022
@abbiemery abbiemery deleted the 23_create_a_dev_environment_setup_script branch February 28, 2023 14:07
@abbiemery abbiemery restored the 23_create_a_dev_environment_setup_script branch February 28, 2023 14:07
@abbiemery abbiemery deleted the 23_create_a_dev_environment_setup_script branch February 28, 2023 14:08
abbiemery pushed a commit that referenced this pull request Jun 15, 2023
* Install pytest-pydocstyle

* Configure pytest to use pydocstyle

* Lock with DLS PyPi

* Ignore module & package docstrings

* Fix loading docstrings

* Fix configurable docstrings

* Fix topic_naming docstrings

* Fix singleton docstrings

* Fix byte_format docstrings

* Fix source docstrings

* Fix sink docstrings

* Fix state_interface docstrings

* Bump pydocstyle to 6.1.1

* Fix kafka docstrings

* Fix internal docstrings

* Fix slave docstrings

* Fix master docstrings

* Fix base docstrings

* Fix ticker docstrings

* Fix device_simulation docstrings

* Fix system_simulation docstrings

* Fix component docstrings

* Fix typedefs docstrings

* Fix lifetime_runnable docstrings

* Fix device docstrings

* Fix adapter docstrings

* Fix tcp docstrings

* Fix regex_command docstrings

* Fix command_interpreter docstrings

* Fix composed docstrings

* Fix remote_controlled docstrings

* Fix shutter docstrings

* Fix trampoline docstrings

* Fix _version_git docstrings

* Re-lock pipfile.lock

* Add cli docstrings

* Add D418 to pydocstyle ignore

* Fix event_router docstrings

* Refactor epicsadapter

* Update EpicsAdapter adapters

* Update example configs

* Fix base docstrings

* Fix shutter docstrings

* Fix cryostream docstrings

* Fix states docstrings

* Fix status docstrings

* Enable pydocstyle linting

* Add simple docstrings to pneumatic

* Make flake8 complient

* Added docstrings to femto.py; Changed 'records' function in femto, pneumatic and epicsadapter to 'on_db_load' to better reflect what it does; Updated Pipfile to include charset-normalizer

* Fixed some docstring formatting

* Fixed line lengths

* Update tickit/devices/pneumatic/pneumatic.py

Co-authored-by: Garry O'Donnell <[email protected]>

* Removed whitespace

* Changed a couple of docstrings to include args and return values

* Remove charset-normalizer

* Edited set_state function

* Fix typechecking error

* Basic epics adapter sanity checks

* Add tests for cli.py

* Remove unused import

* Add tests for CryostreamBase class

* Improved Exception handling, Improved code readability

Base Exception classes substituted for ValueErrors where appropriate.
Hard coded RunMode values removed in favor of using the RunMode enum.
Made TODO flags fully capitalised to properly integrate with IDE.

* Add check on 'status' attribute before accessing.

Previously there was no check on whether the 'status' attribue was set
before accessing using the 'get_status' method. Now the 'get_status'
method will use the 'set_status_format' method to set the attribute it
wants to access if it is not already set.

* Adding tests for Cryostream and Cryostream Adapter

* Make pydocstyle complient

* Use absolute difference to compare gas and target temperature

* Refactoring and rewriting test

* Change to 'margin of error' style test

* Add comments

* Improve test coverage of CryostreamBase

* Refactoring of attribute and improvements 'set_current' docstring.

Renamed _current attribute to _output_current to better reflect it's
interpretation.

Improved the docstring for the 'set_current' message. Before it seemed
like the 'current' parameter would be stored in the class' current
attribute. Whereas in fact the input parameter is multiplied by the
'gain' of the device first.

* Add tests for the femto class

* Add tests for Pneumatic and PneumaticAdapter

* Rename file and increase test coverage to 100%

* Remove unused imports

* Remove git merging artifacts

* Remove more git merge artifacts

* Improvements to tests for CryostreamBase

* Improve tests by using 'await' instead of 'asyncio.run'

* Fix broken test

* Add tests for EpicsAdapter

* Add attribute in test rather than change class

* Disable eq to make dataclass InputRecord hashable

This is required to be able to use InputRecords as a key to a dict.

* Fix lack of awaiting

Co-authored-by: Garry O'Donnell <[email protected]>

* Clean commented out code

* Make flake8 complient

* Freeze dataclass instead of removing __eq__

* Remove trailing '0' from conditional in CryostreamBase.ramp

A seeming flaw in the logic for ramp where it was impossible to set the gas flow to anything other than 10 was the result of a trailing 0 on the number 9000.

* Change tests for ramp to reflect changes to that method

* Update tests to reflect changes to 'ramp' method

* Make the mocking of softioc explicitly apply to the entire test suite.

Move the mocking of softioc to tests/conftest.py where it will
explicitly apply to all test. Mark femto as xfail for now. We know it
works in isolation but we need to figure out how to get it working when
run along with the other tests.

* Remove outdated comment

* Add typehint

* Patch all softioc methods

* Remove mocking of softioc module

* Undo Garry's meddling

* Refactor for flake8 complience

* Make test skip and add an explaination for the future

* Remove redundant 'xfail'

* Undo pointless tinkering

* Extract method from 'build_ioc'

* Test extracted method instead of old method

* Have mock cryostream get status return correct mock status

* Use assert_awaited for coroutines

* Change test to suppress asyncio warning

* Revert "Change test to suppress asyncio warning"

This reverts commit e085798d3dc729bb14dba0a067d3142abb13ac90.

* Fix CLI tests by mocking tickit.cli.run_all_forever

Co-authored-by: O'Donnell, Garry (DLSLtd,RAL,LSCI) <garry.o'[email protected]>
Co-authored-by: O'Donnell, Garry (DLSLtd,RAL,LSCI) <[email protected]>
Co-authored-by: Ollie Copping <[email protected]>
Co-authored-by: Garry O'Donnell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants